This note describes the format of a CaseLinr 4.8 liner file. For versions prior to 4.8, Open and Save the file and it will be converted to this format. All uppercase types are defined below. All lowercase types are "standard C" types as they exist within the 16-bit DOS world. Type Description -------- ----------- int Major version number - this release would have a value of 4 int Minor version number - this release would have a value of 8 short Number of title lines - if 0 then the next two fields do NOT exist UINT Total byte length of title lines including null char[] Title lines - null terminated fonted text string, intermediate lines are separated by CR LF (x'0D' x'0A') short Number of side A song lines - if 0 then the next two fields do NOT exist UINT Total byte length of side A song lines including null char[] Side A song lines - null terminated fonted text string, intermediate lines are separated by CR LF (x'0D' x'0A') short Number of side B song lines - if 0 then the next two fields do NOT exist UINT Total byte length of side B song lines including null char[] Side B song lines - null terminated fonted text string, intermediate lines are separated by CR LF (x'0D' x'0A') SONG_FMT Format of title BYTE Split title indicator: 0 - don't split 1 - split BYTE Center title vertically within title area indicator: 0 - don't center 1 - center SONG_FMT Format of songs in Side A primary area SONG_FMT Format of songs in Side B primary area SONG_FMT Format of songs in Side A overflow area SONG_FMT Format of songs in Side B overflow area int Pen style used for border (cut) lines: 0 - solid 1 - dash 2 - dot 3 - dash-dot 4 - dash-dot-dot 5 - (none) 6 - (endpoints) int Pen style used for interior (fold) lines, same values as border lines BYTE Invert liner indicator: 0 - don't invert 1 - invert BYTE 1-up sides indicator: 0 - not 1-up (i.e. "normal" 2-up side-by-side) 1 - 1-up BYTE Bisect sides indicator: 0 - don't bisect 1 - bisect MEASURE Liner width MEASURE Feature flap height MEASURE Title area height MEASURE Main song area height MEASURE Overflow song area height SIDE_FMT Format of side letter for Side A Flap UINT Total byte length of side letter text for Side A Flap including null - if 0 then the next field does NOT exist char[] Text of side letter for Side A Flap - null terminated fonted text string SIDE_FMT Format of side letter for Side A Primary UINT Total byte length of side letter text for Side A Primary including null - if 0 then the next field does NOT exist char[] Text of side letter for Side A Primary - null terminated fonted text string SIDE_FMT Format of side letter for Side B Flap UINT Total byte length of side letter text for Side B Flap including null - if 0 then the next field does NOT exist char[] Text of side letter for Side B Flap - null terminated fonted text string SIDE_FMT Format of side letter for Side B Primary UINT Total byte length of side letter text for Side B Primary including null - if 0 then the next field does NOT exist char[] Text of side letter for Side B Primary - null terminated fonted text string int Number of fonts used - count of LOGFONT, DWORD pairs. There are always at least 5 fonts, and these are reserved as follows: 0 - default side letter 1 - default feature name 2 - default feature 3 - default title 4 - default song LOGFONT Windows Logical font definition DWORD Color of font int Total number of features - count of FEATUREs that follow the "next" field int Total number of sided features FEATURE Feature definition(s) int Default measurement type 1 - centimeter 2 - inch 4 - line 5 - pica 6 - point UINT Total byte length of tab stops including null - if 0 then the next field does NOT exist char[] Text of tab stops - null terminated char string int Total number of pictures - count of PICTUREs that follow PICTURE Picture definition(s) int Total number of song overflow areas The type SONG_FMT is composed of the following fields: int Song alignment 0 - left 1 - centered 2 - right MEASURE Song left margin MEASURE Song right margin MEASURE Song top margin MEASURE Song bottom margin MEASURE Song wrap margin MEASURE Song between spacing MEASURE Song within spacing The type SIDE_FMT is composed of the following fields: int Letter style 0 - normal 1 - reverse video 2 - none MEASURE Letter top margin MEASURE Letter side margin UINT Unused The type FEATURE is composed of the following fields: UINT Total byte size of FEATURE structure UINT Unused int Feature style 0 - centered with sides 1 - left justified 2 - right justified 3 - centered 4 - adjacent with sides 5 - blank with sides MEASURE Top margin MEASURE Side margin char[] Variable number of characters as follows: feature text - null terminated fonted text string count of side 1 texts - 1 char index of selected side 1 text - 1 char side 1 text #1 - null terminated fonted text string ... side 1 text #k - null terminated fonted text string ... count of side n texts - 1 char index of selected side n text - 1 char side n text #1 - null terminated fonted text string ... side n text #m - null terminated fonted text string 0 - 1 char The type PICTURE is composed of the following fields: UINT Total byte size of PICTURE structure UINT Unused MEASURE X coordinate MEASURE Y coordinate MEASURE Width MEASURE Height BYTE Picture type 0 - bitmap char[] Pathname of picture file - null terminated char string The type MEASURE is composed of the following fields: int Integral portion int Decimal portion as an integer int Number of decimal places int Measurement type 1 - centimeter 2 - inch 4 - line 5 - pica 6 - point int Numerical value in twips The type LOGFONT is a WINDOWS structure composed of the following fields: int Height int Width int Escapement int Orientation int Weight BYTE Italic BYTE Underline BYTE StrikeOut BYTE CharSet BYTE OutPrecision BYTE ClipPrecision BYTE Quality BYTE PitchAndFamily char[32] Face name Some basic types: UINT "unsigned int" and is 2 bytes long BYTE "unsigned char" and is 1 byte long DWORD "unsigned long" and is 4 bytes long int integer and is 2 bytes long short short integer and is 2 bytes long char 1 byte long char[] variable length array of bytes char[x] a fixed length array of x bytes A null terminated fonted text string is a null terminated char string with embedded font indicators. A font indicator is 2 consecutive bytes, the first has the binary value 1 and the second is the 1-relative font number.